package com.toe.forum.service;

import com.toe.pojo.dto.forum.RemarkAddDTO;
import com.toe.pojo.entity.forum.ForumRemark;
import com.baomidou.mybatisplus.extension.service.IService;
import com.toe.pojo.vo.forum.RemarkDetailVO;
import com.toe.pojo.vo.forum.RemarkVO;
import java.util.List;
/**
 * <p>
 * 评论表 服务类
 * </p>
 *
 * @author 陶涛
 * @since 2022-07-19
 */
public interface ForumRemarkService extends IService<ForumRemark> {

    /**
     * 添加评论
     * @param remarkAddDTO
     */
    void insert(RemarkAddDTO remarkAddDTO);

    /**
     * 删除评论
     * @param id
     */
    void deleteById(long id);

    /**
     * 查寻一篇文章的全部评论
     * @param articleId
     * @return
     */
    List<RemarkVO> selectRemark(long articleId);

    /**
     * 分页查询一篇文章的全部评论
     * @param articleId
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<RemarkVO> selectRemarkPage(long articleId,Integer pageNum,Integer pageSize);

    /**
     * 查询一篇文章的评论数量
     * @param articleId
     * @return
     */
    int selectRemarkCount(long articleId);

    /**
     * 查询一篇文章的全部评论包括回复
     * @param articleId
     * @return
     */
    List<RemarkDetailVO> selectAllRemark(long articleId);

    /**
     *
     * @param articleId
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<RemarkDetailVO> selectAllRemarkPage(long articleId, long pageNum,long pageSize);


}
